\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{deauthor}[2002/04/01 Data Engineering Bulletin Author package]

%
% Undefine the \date command, so no date is printed with the title
%
\renewcommand{\date}[1]{}
\renewcommand{\@date}{\@empty}

%
% Undefine the titlepage environment so that articles don't try to
% circumvent the journal's formatting conventions for the first page.
% This works for the article class, but causes trouble for reports and 
% books since the \maketitle command is defined in terms of the titlepage 
% environment.
%
\renewenvironment{titlepage}{}{}

%
% Undefine the \pagestyle and \thispagestyle commands so that articles
% don't try to change the page style.
%
\renewcommand{\pagestyle}[1]{}
\renewcommand{\thispagestyle}[1]{}

%
% Define common theorem-like environment created with the \newtheorem
% command.  First we have to undefine them all since we just defined them
% in the previous article.  Also, define a proof environment and a \qed
% symbol to end the proof.
%
% This initial hack redefines the theorem-like environments of latex to
% follow the theorem heading with a colon (e.g. Theorem 4:) and print
% the theorem text in roman font.
%
\renewcommand{\@begintheorem}[2]%
        {\trivlist \item[\hskip \labelsep{\bf #1\ #2:}]}
\renewcommand{\@opargbegintheorem}[3]%
        {\trivlist \item[\hskip \labelsep{\bf #1\ #2\ (#3):}]}
%
\let\theorem\relax
\let\lemma\relax
\let\corollary\relax
\let\proposition\relax
\let\claim\relax
\let\definition\relax
\let\proof\relax \let\endproof\relax
%
\newtheorem{theorem}{Theorem}
\newtheorem{lemma}[theorem]{Lemma}
\newtheorem{corollary}[theorem]{Corollary}
\newtheorem{proposition}[theorem]{Proposition}
\newtheorem{claim}[theorem]{Claim}
\newtheorem{definition}[theorem]{Definition}
%
\newenvironment{proof}{\noindent {\bf Proof:}}{}
\newcommand{\squarebox}[1]{\hbox to #1{\hfill\vbox to #1{\vfill}}}
\newcommand{\qed}{\hspace*{\fill}
            \vbox{\hrule\hbox{\vrule\squarebox{.667em}\vrule}\hrule}\smallskip}

%
% Define an example environment, just another theorem environment but with
% independent numbering.
%
\let\example\relax
\newtheorem{example}{Example}

%
% Define an indented abstract environment.
%
\renewenvironment{abstract}%
  {\begin{center}\textbf{Abstract}\end{center}\narrower\itshape}%
  {\par}  

%
% Reset all section and figure counters so that an article's section
% and figure numbers begin with 1.
%
\setcounter{section}{0}
\setcounter{figure}{0}


%
% Place page formatting parameters (like page dimensions) here
% These should match the dimensions in bulletin.sty.
%
\textheight     9.0in
\textwidth      6.75in
\oddsidemargin  0.0in
\evensidemargin -0.25in
\topmargin      0.0in
\headheight     0.0in
\headsep        0.0in
%\footheight     0.0in

\@twosidetrue        % print on two sides of a page

%
% Authors are not supposed to change page dimensions.
%

\let\@setlength\setlength       % save old definition
\renewcommand{\setlength}[2]{%
  \@VerifyChangeableLength{#1}%
  \if@ChangeableLength\@setlength{#1}{#2}\else\@UnchangeableError{#1}\fi}

\let\@addtolength\addtolength   % save old definition
\renewcommand{\addtolength}[2]{%
  \@VerifyChangeableLength{#1}%
  \if@ChangeableLength\@addtolength{#1}{#2}\else\@UnchangeableError{#1}\fi}

\let\@settowidth\settowidth     % save old definition
\renewcommand{\settowidth}[2]{%
  \@VerifyChangeableLength{#1}%
  \if@ChangeableLength\@settowidth{#1}{#2}\else\@UnchangeableError{#1}\fi}

\newif\if@ChangeableLength      \@ChangeableLengthtrue
\newcommand{\@VerifyChangeableLength}[1]{%
  \ifx#1\textwidth              \@ChangeableLengthfalse
  \else\ifx#1\textheight        \@ChangeableLengthfalse
  \else\ifx#1\textwidth         \@ChangeableLengthfalse
  \else\ifx#1\oddsidemargin     \@ChangeableLengthfalse
  \else\ifx#1\evensidemargin    \@ChangeableLengthfalse
  \else\ifx#1\topmargin         \@ChangeableLengthfalse
  \else\ifx#1\headheight        \@ChangeableLengthfalse
  \else\ifx#1\headsep           \@ChangeableLengthfalse
  \else\ifx#1\footheight        \@ChangeableLengthfalse
  \else\@ChangeableLengthtrue\fi\fi\fi\fi\fi\fi\fi\fi\fi}
\newcommand{\@UnchangeableError}[1]{%
  \errmessage{Error: Authors are not allowed to change #1.. Ignored}}

%
% We want the title to be typeset in boldface, and the author names
% to be typeset in italics.  We can hardwire this for the title,
% but trying to do the same thing for the author causes confusion
% due to the use of \@author in \@maketitle in article.sty.
% 
% We also want to print a copyright notice and the bulletin title at
% the bottom of every first page.
%
\renewcommand{\title}[1]{%
  \gdef\@title{\textbf{#1}}
  \begingroup 
  \renewcommand{\thefootnote}{\fnsymbol{footnote}}
  \global\setcounter{footnote}{0}
  \footnotetext{%
    \emph{Copyright {\@BulletinYear} IEEE. Personal use of this material is
    permitted. However, permission to reprint/republish this material for
    advertising or promotional purposes or for creating new collective
    works for resale or redistribution to servers or lists, or to reuse
    any copyrighted component of this work in other works must be obtained
    from the IEEE.}\\
    \textbf{Bulletin of the IEEE Computer Society Technical Committee on
    Data Engineering} \\
    \footnoterule
  }%
  \endgroup
}
\providecommand{\@BulletinYear}{0000}
\providecommand{\bulletinyear}[1]{\renewcommand{\@BulletinYear}{#1}}

